On Reconciling Objects, Components, and Efficiency in Programming Languages
نویسندگان
چکیده
The paradigm of component-oriented programming, which promises to improve upon object-oriented techniques in significant ways, is currently still difficult to apply in practice. One problem impeding further progress is that established strongly-checked, class-based, objectoriented languages do not take the requirements of component-oriented programming into account. The concepts of stand-alone messages and generic message forwarding, which have been developed in the programming language Lagoona, lead to language designs that suit the new paradigm better while still preserving an object-oriented programming style. We illustrate the utility of these concepts by analyzing several archetypal design and implementation problems and solving them in a coherent language framework. We also discuss how these concepts can be implemented efficiently and propose a suitable execution model based on high-level intermediate representations and dynamic recompilation.
منابع مشابه
Reconciling Software Extensibility with Modular Program Reasoning
Reconciling Software Extensibility with Modular Program Reasoning by Todd David Millstein Chair of Supervisory Committee: Professor Craig Chambers Computer Science & Engineering Programming languages that support the creation of reusable software components help make programs easier to create, maintain, and understand. To accrue these benefits in practice, a component must be extensible, able t...
متن کاملRanking the Efficiency of Job Performance of Employees and Managers through Cultural Intelligence based on the DEA Linear Programming Model
Purpose: The job performance of employees and managers plays an important role in promoting the organization's performance, and it seems that cultural intelligence can affect it. As a result, the aim of this study was to ranking the efficiency of job performance of employees and managers through cultural intelligence based on the DEA linear programming model. Methodology: This study in terms o...
متن کاملA Language for Object-Oriented Parallel Programming Targeted at Cluster Computing Platforms
In object-oriented (OO) languages, the ability to encapsulate software concerns of the dominant decomposition in objects is the key to reaching high modularity and loss of complexity in large scale designs. However, distributed memory parallelism tends to break modularity and encapsulation of concerns in OO languages, since a parallel computation cannot be encapsulated in an individual object. ...
متن کاملReconciling method overloading and dynamically typed scripting languages
The Java Virtual Machine (JVM) has been adopted as the executing platform by a large number of dynamically typed programming languages. For example, Scheme, Ruby, Javascript, Lisp, and Basic have been successfully implemented on the JVM and each is supported by a large community. Interoperability with Java is one important requirement shared by all these languages. We claim that the lack of typ...
متن کاملTowards Automatic Specialization of Java Programs
Automatic program specialization can derive efficient implementations from generic components, thus reconciling the often opposing goals of genericity and efficiency. This technique has proved useful within the domains of imperative, functional, and logical languages, but so far has not been explored within the domain of object-oriented languages. We present experiments in the specialization of...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002